home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / inim11l2.zip / INISHARE.TXT < prev    next >
Text File  |  1992-12-29  |  19KB  |  374 lines

  1.                          INIMAINT
  2.                  Copyright 1992, Carry Associates
  3.  
  4. INIMAINT is an OS/2 PM program to display and manage *.INI files and
  5. is distributed by Carry Associates, 990 Ironwood Court, Marco Island,
  6. FL, 33937. Telephone number is 813-642-9126. The application was
  7. written by and is supported by Larry J. Martin. You can obtain
  8. Technical support by calling the number above, by leaving an Email on
  9. Compuserve for 71435,470 or for the same ID in Section 9,
  10. Applications, on the IBMOS2 Compuserve Forum.
  11.  
  12. WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
  13.  
  14. INIMAINT gives you the ability to make virtually any change you want
  15. to any of the INI files in your OS/2 environment. Making changes to
  16. these files must be done with care because you can do serious and
  17. unpredictable damage to your environment. It is STRONGLY SUGGESTED
  18. that you insure that you have a usable backup of any INI file that
  19. you modify in any way.
  20.  
  21. WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
  22.  
  23.                      SHAREWARE VERSION
  24.  
  25. The version of INIMAINT that accompanys this documentation is a
  26. Shareware version of the program that must be registered with Carry
  27. Associates, if you intend to use it except for a brief test. This is
  28. not a free program and has been Copyrighted by Carry Associates. It
  29. is a violation of the Copyright Laws to use the program without
  30. registering and paying for it. The purpose of the unregistered
  31. version is ONLY to give users an opportunity to try the program so
  32. that they can determine whether they feel the program is worth the
  33. $29.95 cost.
  34.  
  35. Unregistered copies of INIMAINT will display an initial dialog that
  36. will note the unregistered condition. This dialog will stay on the
  37. screen for 15 seconds, unless dismissed by clicking on the OK button.
  38. The dialog cannot be dismissed until it has been visible for 3
  39. seconds. In addition, the Title Bar will contain a note that this is
  40. an unregistered version of INIMAINT.
  41.  
  42. To obtain your registration identifier please send a check for $29.95
  43. per license for single licenses or $299 for an unlimited copies
  44. license made payable to:
  45.  
  46. Carry Associates
  47. 990 Ironwood Court
  48. Marco Island, FL 33937
  49.  
  50. INIMAINT was written by and is support by:
  51.  
  52. Larry J. Martin
  53. Tel: 813-642-9126
  54. Fax: 813-642-1007
  55. Compuserve: 71435,470
  56.  
  57. Once you have your registration identifier, you can register your
  58. copy of INIMAINT by selecting the :hp2.Register Your Copy:ehp2. entry
  59. on the Actions Menu. Once you are registered, this entry will no
  60. longer appear on the menu.
  61.  
  62. If you want a preregistered copy of INIMAINT, add $7.00 for postage
  63. and handling. We will return a diskette with a preregistered copy of
  64. INIMAINT, an Install CMD file and an INIMAINT registration ID. The
  65. purpose of the ID is to allow preregistered users to download new
  66. versions, register and use them until they can obtain a preregistered
  67. update. The preregistered version will run as registered without any
  68. need to register it on each system.
  69.  
  70. The cost of a preregistered update is $10.00 per license for single
  71. licenses or $100.00 for an unlimited copies license, plus $7.00
  72. handling and postage.
  73.  
  74.  
  75.                       CURRENT VERSION
  76.  
  77. The enclosed is Version 1.1l of INIMAINT and has the following
  78. known problems and/or incomplete features:
  79.  
  80. 1. The Install must be done manually.
  81.  
  82. 2. The Initial Dialog cannot be dismissed using the Enter Key, the
  83. Mouse must be used.
  84.  
  85. 3. If the Groups Dialog is displayed, a new Group is selected and
  86. then OK is selected without actually making any changes to any of the
  87. Groups or the Applications in a Group, then the Last Group Displayed
  88. is not updated and a subsequent use of the Groups Dialog will revert
  89. back to the previous Last Group.
  90.  
  91. 4. The Option to turn off the display of the Copy Dialog does not
  92. work. This is because of a conflict between how the dialog is hidden
  93. and the LOCKUP feature. This conflict could result in a requirement
  94. to reboot OS/2 after any INIMAINT operation that used the INICOPY
  95. program, which includes Copy, Move, Backup and Condense.
  96.  
  97. 5. Under OS/2 2.0 with the SP, and perhaps without it, there is a
  98. minor conflict between resetting the Desktop and the Desktop Settings
  99. Notebook. If the Desktop is reset, this is done if either the System
  100. or User INI files are Changed or Condensed, then two problems appear
  101. and cannot be fixed except by rebooting OS/2. The problems are:
  102.  
  103.    A. The settings Notebook will not appear when it is requested, but
  104.       it will appear in the Window list. Clicking on Show will have
  105.       no effect. The Notebook can be made to appear if you click on
  106.       either Tile or Cascade.
  107.  
  108.    B. Once the above is done and the Notebook is visible, the View
  109.       page cannot be used, since it is blank. In fact, the View tab 
  110.       will not appear originally and, once it does appear, you cannot
  111.       select it in any manner.
  112.  
  113.                  REPORTED COMMENTS OR PROBLEMS
  114.  
  115. The following items are problems that have been reported, but cannot
  116. be reproduced or comments that I have received from one or more
  117. users. Any assistance on the problems or additions to the comments is
  118. more than welcome.
  119.  
  120. 1. It was pointed out that although the Cursor in the Value MLE can
  121. be an Insert Cursor, there is no way to Insert information. My
  122. response is that the only way to change the length of a Value is by
  123. using the Replace Value Dialog because changing the expected length
  124. of an INI Key Value can cause unusual and unexpected errors. I
  125. further responded that the only way to change the cursor is to
  126. change it System wide, therefore, changing it only when it is in the
  127. MLE is a non trivial problem and I have not attempted to do it even
  128. though it leaves the apparent conflict between the appearance of the
  129. Cursor and the actual effect when a key is depressed.
  130.  
  131.                         INSTALLATION
  132.  
  133. To install the beta version you must:
  134.  
  135. 1. Copy the INIMAINT.EXE and INICOPY.EXE files to a subdirectory that
  136. is included in the PATH environment variable in your CONFIG.SYS.
  137.  
  138. 2. Copy the INIMTAPI.DLL file to a subdirectory that
  139. is included in the LIBPATH environment variable in your CONFIG.SYS.
  140.  
  141. 3. Copy the INIHELP.HLP file to a subdirectory that
  142. is included in the HELP environment variable in your CONFIG.SYS.
  143.  
  144. 4. You may optionally add INIMAINT to one of the Groups on your
  145. Desktop.
  146.  
  147.                         OPERATION
  148.  
  149. To run INIMAINT simply start it by clicking on the INIMAINT.EXE file
  150. or start it from the Group to which it has been added. When INIMAINT
  151. first comes up, it will default to editing the INI file that is
  152. identified by the system as the user INI file. This is normally
  153. C:\OS2\OS2.INI. The name of the current file is always displayed in
  154. the TITLE bar of the main window.
  155.  
  156. INIMAINT can also be started with an initial INI file specified on
  157. the command line. This allows INIMAINT to be started with a new file
  158. by using the command line, but also allows for it to be started by
  159. dropping a file on the ICON on the desktop or double clicking on an
  160. INI file, once the association is set up.
  161.  
  162. INIMAINT will locate the window in a default location, but you can
  163. move and or size the window as you choose. When INIMAINT is shut
  164. down, it will remember the file that it was currently working with as
  165. well as the size and location of the window and will restore all of
  166. these the next time it is run.
  167.  
  168. There are a number of INIMAINT functions which will take some time
  169. to execute. For example, the maximum length Key Value that INIMAINT
  170. will load into the Key Value Window is 60,000 bytes. Since each line
  171. only displays 8 bytes, this comes to 7,500 lines and it takes well
  172. over a minute. There are other similar types of functions, although
  173. the example is the longest. During these long operations, it is not
  174. possible to do any other INIMAINT operations. However, the long
  175. functions are done in separate threads and the Message Queue is not
  176. blocked, therefore it is possible to go do some other, non-INIMAINT,
  177. function during this time. In addition, since there are a number of
  178. reasons why a user might not want to wait until the lengthy function
  179. is completed, for example, it might have been selected in error,
  180. any INIMAINT operation that takes a long time and displays the Wait
  181. Pointer can be terminated by hitting the ESC key.
  182.  
  183.                    MAIN WINDOW DESCRIPTION
  184.  
  185. The Main Window contains three standard child windows. Two of these
  186. windows are Listboxes and the third is a MLE.
  187.  
  188. The upper left Listbox will always contain the list of Applications
  189. for the current INI file.
  190.  
  191. The upper right Listbox will contain the list of Key Names for the
  192. Application that is currently selected in the Application Listbox.
  193.  
  194. The MLE, at the bottom, will contain the hex and ASCII display of the
  195. contents of the Key Name that is selected in the Key Listbox.
  196.  
  197. The Cursor will normally be forced to the MLE and the value of the
  198. data can be modified by changing either the hex or the ASCII fields
  199. of the MLE. The cursor cannot be moved to any portion of the MLE that
  200. does not contain data that can be modified and any modification to
  201. one type of data, hex or ASCII, will immediately be reflected in the
  202. other data.
  203.  
  204. The actual data in the INI file is not changed until the user selects
  205. the Update Item on the Action Menu or selects a different Key or
  206. Application in the same INI file. At this time, you will be asked to
  207. confirm that you want the INI file modified, unless you have turned
  208. the warning option off, see below.
  209.  
  210.                  INIMAINT MENU OPTIONS
  211.  
  212. The various INIMAINT Menu options are:
  213.  
  214. 1. File gives the user the ability to change INI files, refresh the
  215. current INI file, Dump the contents of the INIMAINT variables,
  216. compare two INI files and Exit from INIMAINT.
  217.  
  218. The Compare option allows the user to Compare two INI files on any
  219. one of three different levels:
  220.    A. List Applications that are in one INI file, but not the other.
  221.    B. A. above plus any Key Names that are in one file, but not the
  222.       other.
  223.    C. A. and B. above plus any Key Values that are in both files, but
  224.       are not equal.
  225. The differences are displayed in a Listbox within a Dialog that
  226. allows the user to print or write a listing of the Listbox contents
  227. and/or create an INI file with some or all of the Applications or
  228. Keys that have differences.
  229.  
  230. 2. Options will display a Dialog that gives you the ability to:
  231.    A. Turn off the display of the opening INIMAINT Dialog.
  232.    B. Turn off the dialogs that will ask for confirmation before
  233.       Deleting or Modifying the contents of the Current INI file.
  234.  
  235. 3. Groups will display a Dialog that allows you to define and manage
  236. the various Groups for this INI file. A bit of explanation is needed
  237. here. INIMAINT gives the user the ability to arrange the applications
  238. in any INI file into Groups. These Groups can then be used in a
  239. number of different INIMAINT areas and greatly ease the problems of
  240. handling an INI file with a large number of applications. For
  241. example, the OS2.INI file might be divided into two Groups, System
  242. and Private. The System Group would be the applications put in the
  243. file by OS2 Install and the Private Group would be the remaining
  244. applications. More or fewer Groups could be defined. How the user can
  245. use Groups within the INIMAINT structure will become more clear
  246. below. The Groups Dialog gives the user the ability to define new
  247. Groups, to add and delete Applications and Delete Groups.
  248.  
  249. The procedure for establishing a new Group is to select Groups in the
  250. Group Dialog, select New Group, and supply a name. Once this is done,
  251. the Title of the Dialog will show the current Group and the new Group
  252. will be added to the Group Menu. You add Applications to the Group by
  253. selecting them in the Listbox.
  254.  
  255. The Listbox will display a specific Group or, if you want to know if
  256. there are any Applications that are not in a Group, will display all
  257. Groups. A single Application can be a member of up to 5 different
  258. Groups at any one time, so it is possible to define overlapping
  259. Groups.
  260.  
  261. 4. Size will calculate the minimum amount of Disk Space that would be
  262. required for an INI file that contained a selected set of
  263. Applications in the current INI file. When this item is selected, the
  264. user will be asked what he wants to Size. There will always be
  265. several choices, the various standard INI files, the current file and
  266. the currently selected Application. If there are any Groups defined,
  267. then they will be included among the selections. If there are more
  268. than one Group defined, then there will be an All Groups selection.
  269.  
  270. 5. Actions gives the user the ability to do a number of things:
  271.    A. Update Current Key will write any changes that have been made
  272.       to the data in the MLE into the current INI file.
  273.    B. Delete Application and Delete Key will do the obvious.
  274.    C. Add Application, Add Key and Replace Key Value are all the same
  275.       function except entered at different points. Add Application
  276.       will ask for the name of a new Application to add to the
  277.       current INI file and then fall through to the Add Key, since
  278.       the Applications must have at least one Key. The Add Key will
  279.       ask for the name of the new Key and then fall through to the
  280.       Replace Key Value, since any Key Name must have an associated
  281.       Value. This will cause the Key Dialog box to be displayed. The 
  282.       Application and Key Names will be shown at the top of the
  283.       Dialog, followed by the current length of the data, the ASCII
  284.       representation of the data and the hex representation of the
  285.       data. This is the only option that will change the length of
  286.       a Key Value. Care must be taken when doing this, as many
  287.       applications depend on knowing the length of the INI items. As
  288.       the ASCII or hex values are changed, the changes will appear in
  289.       the other window and the length will be updated. The only
  290.       exception is when only a single hex digit is entered. The ASCII
  291.       window is not updated until two hex characters are entered.
  292.    D. Rename and Duplicate Key give the user the ability to change
  293.       the name of an existing Key or to make a duplicate copy of the
  294.       Key using a different Key Name.
  295.    E. Copy and Move will ask the user to select a Target File for the
  296.       Copy/Move and will then give the user the same choices as Size
  297.       above. The selected Applications will then be moved or copied
  298.       to the Target INI file, which will be created, if it does not
  299.       exist. This function is done Key by Key, so it will sometimes
  300.       take some time. However, the PM message queue is not blocked
  301.       while the move/copy is being done. The actual move or copy is
  302.       done by a separate program INICOPY, that can also be run as a
  303.       batch program, see below.
  304.    F. Backup allows for an easy Backup of the System INI File, User 
  305.       INI File or both the System and User INI Files. Once the user
  306.       has selected names for the normal backups for the two files,
  307.       these files will be presented as the default for additional
  308.       backups. The user can set an Option that will bypass asking
  309.       the user if he wants to use the defaults. This selection will
  310.       always delete the target files before doing the backup, which
  311.       is one of the ways it varies from the Copy selection.
  312. 6. Recover contains a list of capabilities designed to give the user
  313. the ability to recover from corrupted INI files. These capabilities
  314. are:
  315.    A. Change User and/or System INI Files give the user the ability
  316.       to change the INI files that OS/2 is currently using to new
  317.       files. The primary use of this capability is to allow the user
  318.       to make changes to the User or System INI files that he knows
  319.       need to be made, but cannot make to the current User or System
  320.       Files because of protection built into OS/2. Great care must be
  321.       exercised when doing this, but it will sometimes represent the
  322.       only way that problem entries can be removed from an INI File.
  323.    B. Repair inconsistantcies between the INI file and the Desktop.
  324.    C. Condense the Current INI file, the System INI File, the User
  325.       INI File or both the System and User INI Files. The Condense
  326.       is necessary because of the way updating is done to the INI
  327.       files. The updating will leave empty areas in the INI files and
  328.       these areas tend to get fragmented, thus causing the overall
  329.       size of the INI file to grow, sometimes grow very large.
  330.       Condensing the System or User INI files is not a simple task,
  331.       since they cannot be copied or erased while they are being used
  332.       by OS/2. This item switches the files to the copies long enough
  333.       to erase the old files and copy a condensed backup to the
  334.       original names. The only problem this causes is that it will
  335.       reset the desktop to the boot desktop.
  336.  
  337. 7. Find allows the user to search the Application Listbox, the Key
  338. Name Listbox, the Key Value MLE, all of the Key Names in the currrent
  339. INI file, all of the Key Values for the current Application or all of
  340. the Key Values in the current INI file for either an Ascii string or a
  341. Hex value.
  342.  
  343.                              INICOPY
  344.  
  345. INICOPY is the program that is used by INIMAINT to do the actual
  346. COPY/MOVE operations. This option is implemented as a separate program
  347. so that the user will have the ability to make copies of INI files,
  348. including the User and System INI files, at any time during the day.
  349.  
  350. The parameters expected by INICOPY are:
  351.  
  352. Required Parameters:
  353.  
  354. -Ifilename  - The fully qualified path and filename of the Source,
  355.               Input, INI file.
  356.  
  357. -Ofilename  - The fully qualified path and filename of the Target,
  358.               Output, INI file. The Target will be created if it does
  359.               not exist.
  360.  
  361. Optional Parameters:
  362.  
  363. -Fx         - Function requested - Default is C(opy)
  364.               C = C(opy)
  365.               M = M(ove)
  366.  
  367. -E          - COPY/MOVE Entire INI file - Default
  368.                                             
  369. -A          - COPY/MOVE All Groups
  370.                                              
  371. -Ggroup     - COPY/MOVE Specific Group
  372.                                              
  373. -Sapp       - COPY/MOVE Specific Application
  374.